/**
 * @file AreaTool.hpp
 *
 * @date 25/12/2011
 * @author Tales 
 *
 */

#ifndef AREATOOL_HPP_
#define AREATOOL_HPP_

#include "Tool.hpp"
#include "../model/AreaCommandType.hpp"

namespace yep
{

class AreaTool: public Tool
{
public:
	AreaTool(AreaCommandType type);

	virtual void start();

	virtual void end();

	virtual void pressed(pair<int, int> pos, bool leftButton, bitset<5> state);

	virtual void released(pair<int, int> pos,bool leftButton, bitset<5> state);

	virtual void moved(pair<int, int> pos, pair<int, int> offset, std::bitset<5> state);
private:
	bool drawing;
	pair<int, int> p1, p2;
	AreaCommandType type;
};

} /* namespace yep */
#endif /* AREATOOL_HPP_ */
